Utilizing Multiple Mesh Network Gateways in a Shared Access Network

ABSTRACT

A mesh network, operating as a virtual Ethernet switch, includes multiple nodes operating as Mesh Network Gateway Interfaces (mesh NGIs) enabled for communication with one or more shared access networks. Selectively coupling the multiple NGIs to the same shared access network provides redundancy and load balancing aimed at improving the reliability and performance of the network. A first architecture is based on a gateway group, including a plurality of NGIs enabled to communicate with a single shared access network via a designated broadcast server elected from among the NGIs. A second architecture is based on a plurality of (physical) NGIs enabled to communicate with a single shared access network via one or more designated nodes in the shared access network. The designated nodes, or Mesh Servers (MSs), operate as virtual NGIs, and traffic entering or exiting the mesh flows through one of the MSs, thus improving packet broadcast efficiency.

CROSS REFERENCE TO RELATED APPLICATIONS

Priority/benefit claims for this application are made in theaccompanying Application Data Sheet. This application incorporates byreference for all purposes the following applications:

-   -   U.S. Provisional Application Ser. No. 60/704,528 (Docket No.        FT.2005.01), filed Jul. 30, 2005, first named inventor Jorjeta        Jetcheva, and entitled Utilizing Multiple Mesh Network Gateways        in a Shared Access Network;    -   U.S. Provisional Application Ser. No. 60/708,131 (Docket No.        FT.2005.01B), filed Aug. 13, 2005, first named inventor Jorjeta        Jetcheva, and entitled Utilizing Multiple Mesh Network Gateways        in a Shared Access Network;    -   U.S. Provisional Application Ser. No. 60/709,738 (Docket No.        FT.2005.01C), filed Aug. 19, 2005, first named inventor Jorjeta        Jetcheva, and entitled Utilizing Multiple Mesh Network Gateways        in a Shared Access Network;    -   U.S. Provisional Application Ser. No. 60/806,519 (Docket No.        FT.2005.01D), filed Jul. 3, 2006, first named inventor Jorjeta        Jetcheva, and entitled Utilizing Multiple Mesh Network Gateways        in a Shared Access Network;    -   PCT Application Serial No. PCT/US2006/028903 (Docket No.        FT.06.101PCT), filed Jul. 26, 2006, first named inventor Jorjeta        Jetcheva, and entitled Utilizing Multiple Mesh Network Gateways        in a Shared Access Network; and    -   U.S. Pat. No. 8,559,447 Ser. No. 12/018,152 (Docket No.        FT-2007-101US), filed Jan. 22, 2008, first named inventor        Jorjeta Jetcheva, and entitled Utilizing Multiple Mesh Network        Gateways in a Shared Access Network.    -   U.S. Pat. No. 9,602,399 Ser. No. 14/046,950 (Docket No.        FT-13-101US), filed Oct. 5, 2013, first named inventor Jorjeta        Jetcheva, and entitled Utilizing Multiple Mesh Network Gateways        in a Shared Access Network.

BACKGROUND

Field

Advancements in mesh networks are needed to provide improvements inperformance, efficiency, and utility of use. Embodiments describedelsewhere herein enable the improvements.

Related Art

Unless expressly identified as being publicly or well known, mentionherein of techniques and concepts, including for context, definitions,or comparison purposes, should not be construed as an admission thatsuch techniques and concepts are previously publicly known or otherwisepart of the prior art. All references cited herein (if any), includingpatents, patent applications, and publications, are hereby incorporatedby reference in their entireties, whether specifically incorporated ornot, for all purposes. Nothing herein is to be construed as an admissionthat any of the references are pertinent prior art, nor does itconstitute any admission as to the contents or date of actualpublication of these documents.

SUMMARY

The invention can be implemented in numerous ways, including as aprocess, an article of manufacture, an apparatus, a system, acomposition of matter, and a computer readable medium such as a computerreadable storage medium or a computer network wherein programinstructions are sent over optical or electronic communication links. Inthis specification, these implementations, or any other form that theinvention may take, may be referred to as techniques. In general, theorder of the steps of disclosed processes may be altered within thescope of the invention. An exposition of one or more embodiments of theinvention is provided in the Detailed Description. The DetailedDescription includes an Introduction to facilitate the more rapidunderstanding of the remainder of the Detailed Description. TheIntroduction includes Illustrative Combinations that tersely summarizeillustrative systems and methods in accordance with the concepts taughtherein. As is discussed in more detail in the Conclusions, the inventionencompasses all possible modifications and variations within the scopeof the issued claims, which are appended to the very end of the issuedpatent.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the invention are disclosed in the followingdetailed description and the accompanying drawings.

FIG. 1 illustrates selected details of an embodiment of a firstarchitecture of a mesh network having multiple mesh gateway interfacesto multiple shared access networks.

FIGS. 2A, 2B, and 2C illustrate selected details of an embodiment of aself-healing mesh network having a control protocol for assigning adedicated broadcast server in each of one or more partitions of the meshnetwork.

FIG. 3 illustrates selected details of an embodiment of a secondarchitecture of a mesh network having multiple mesh gateway interfacesto a common shared access network.

FIG. 4 illustrates selected details of hardware aspects of an embodimentof a node.

FIG. 5 illustrates selected details of software aspects of an embodimentof a node.

DETAILED DESCRIPTION

The invention can be implemented in numerous ways, including as aprocess, an article of manufacture, an apparatus, a system, acomposition of matter, and a computer readable medium such as a computerreadable storage medium or a computer network wherein programinstructions are sent over optical or electronic communication links. Inthis specification, these implementations, or any other form that theinvention may take, may be referred to as techniques. In general, theorder of the steps of disclosed processes may be altered within thescope of the invention.

A detailed description of one or more embodiments of the invention isprovided below along with accompanying figures that illustrate theprinciples of the invention. The invention is described in connectionwith such embodiments, but the invention is not limited to anyembodiment. The scope of the invention is limited only by the claims andthe invention encompasses numerous alternatives, modifications andequivalents. Numerous specific details are set forth in the followingdescription in order to provide a thorough understanding of theinvention. These details are provided for the purpose of example and theinvention may be practiced according to the claims without some or allof these specific details. For the purpose of clarity, technicalmaterial that is known in the technical fields related to the inventionhas not been described in detail so that the invention is notunnecessarily obscured.

INTRODUCTION

This introduction is included only to facilitate the more rapidunderstanding of the Detailed Description. The invention is not limitedto the concepts presented in the introduction, as the paragraphs of anyintroduction are necessarily an abridged view of the entire subject andare not meant to be an exhaustive or restrictive description. Forexample, the introduction that follows provides overview informationlimited by space and organization to only certain embodiments. There arein fact many other embodiments, including those to which claims willultimately be drawn, which are discussed throughout the balance of thespecification. As is discussed in more detail in the Conclusions, theinvention encompasses all possible modifications and variations withinthe scope of the issued claims, which are appended to the very end ofthe issued patent.

Various embodiments use a mesh network acting as a virtual Ethernetswitch. The mesh network includes multiple nodes operating as meshNetwork Gateway Interfaces (mesh NGIs) enabled for communication withone or more shared access networks. Selectively coupling the multipleNGIs to the same shared access network provides redundancy and loadbalancing aimed at improving the reliability and performance of thenetwork.

A first architecture is based on a gateway group and a designatedbroadcast server. A gateway group includes a plurality of NGIs enabledto communicate with a single shared access network. Members of thegateway group inter-communicate via a coordinating distributed protocol.A designated broadcast server from among the NGIs is elected by the NGIsto control entrance of broadcast packets into the mesh network from theshared access network. All other NGIs of the gateway group ignorebroadcast packets from the shared access network, thus improving packetbroadcast efficiency and reducing or eliminating the possibility ofbroadcast loops.

A second architecture is based on a plurality of (physical) NGIs enabledto communicate with a single shared access network via a designated nodein the shared access network. The designated node, or Mesh Server (MS),executes a mesh routing protocol, operating as a virtual NGI, andtraffic entering or exiting the mesh flows through the MS, thusimproving packet broadcast efficiency. The physical NGIs are operatedwith virtual mesh links to the MS. The virtual mesh links may beimplemented as point-to-point tunnels. Embodiments according to thesecond architecture may be operated with a plurality of single sharedaccess networks, each of the shared access networks having a respectivedesignated MS operating as a virtual NGI.

Embodiments taught herein are specifically designed for mesh networks,and conserve limited bandwidth and computation resources, in contrast tosolutions used for wired networks that generally treat bandwidth andcomputation resources as plentiful. For example, a Spanning TreeProtocol (STP) is often used in contexts having multipleinterfaces/devices connected to a shared access network. STP blocks allbut one interface/device (i.e. packets are not forwarded) and thusremoves any possibility of forwarding loops among the interfaces to theshared network. As a result, however, STP also eliminates potentialbenefits of the multiple interfaces (such as load balancing andredundancy). For another example, throughput to a shared access networkmay be improved by link aggregation. However, conventional linkaggregation is restricted to port aggregation on a single physicaldevice, while multiple mesh network couplings to a shared access networkare on different physical devices, as each coupling is physically (andoften geographically) distinct. In some embodiments geographicalseparation is used to reduce or eliminate interference between wirelesscommunications. In some embodiments separation is used to reduceinterfering communication paths traveled by traffic within the mesh.

Various embodiments use a mesh network acting as a virtual Ethernetswitch (operating as a layer-2 switch). The mesh network may alsofurther include multiple mesh NGIs that connect to one or more sharedaccess networks. Selectively connecting the multiple NGIs to the sameshared access network provides redundancy and load balancing aimed atimproving the reliability and performance of the network. If more thanone NGI is coupled to the same shared access network, then there existsa possibility of forwarding broadcast packets in loops, unnecessarilyconsuming network resources. Some embodiments detect possible loopforwarding and reduce or prevent the forwarding loops.

When multiple mesh NGIs are connected to the same shared access network,some destinations on the shared access network are learned through oneNGI and some through others. Inefficient use of the limited meshresources may result when a better path becomes available inside themesh to destinations on the shared access network, for example via adifferent NGI than one currently in use, but the better path is not yetknown. In some embodiments traffic rerouting is provided to the NGI inthe shared access network to which a source node has the best path evenas path metrics change and different paths have the best metric atdifferent times.

In some embodiments the best path is associated with a metric such ashop-count, and the best path is a route having the smallest hop-count.Other metrics for best path determination may be used based onimplementation dependent criteria, as the techniques discussed elsewhereherein are independent of best path determination details.

As an example usage scenario, consider a mesh network deployed in aresort such that users access the mesh network wirelessly on the groundsof the resort. Traffic is forwarded via the mesh network to a centraloffice of the resort having a wired connection to the Internet. Thewired network includes several NGIs to avoid concentrating all trafficonto a single NGI (load balancing) and also for improved reliability(redundancy/failover). Thus the multiple NGIs enable relatively higherbandwidth operation and relatively improved availability.

Mesh Network Concepts

Mesh Network Concept No. 1: Without special mechanisms in place, havingmultiple mesh NGIs connected to a single shared access network may causebroadcast loops, whereby a broadcast packet forwarded from the meshnetwork to the shared access network by one NGI would be forwarded backinto the mesh by another NGI. Broadcast loops waste network resources,and may congest the network to be unable to deliver any useful data.Packets may also not be routed appropriately because the NGI/ClientInterfaces may receive conflicting ideas as to whether a destination isinside or outside the mesh. For example, when an interface hears apacket on the shared access network, the interface assumes that thesource of the packet is on the shared access network rather than on themesh, even though the packet may have been forwarded from the mesh byanother interface and the packet source is in or is reachable throughthe mesh.

Mesh Network Concept No. 2: When there are multiple mesh NGIs onto asingle access network, it would be inefficient for all of the NGIs toforward a packet received on the shared access network into the mesh.Multiple forwarding is exacerbated when the destination of the packet isunknown, causing the NGI to flood (rather than unicast) the packet intothe mesh. Having multiple floods of the same packet within the mesh,each generated by a different NGI, would be wasteful of networkresources. To avoid inefficiency, coordination is used so that only onemesh NGI forwards each packet from the shared access network into themesh.

Mesh Network Concept No. 3: For best performance and most efficient useof resources, packets need to take the best currently available pathswithin the mesh for a given source and destination of traffic.

Terms

Elsewhere herein terms are used to describe selected elements andaspects of various embodiments and implementations. Examples forselected terms follow.

Node: An example of a node is an electronic device.

Packet: An example of a packet is that nodes communicate information toeach other that is subdivided into packets.

Link: An example of a link is a conceptual representation of the abilityof two (or more) nodes to communicate with each other. A link may bewired (the nodes being connected by a physical medium for carryinginformation such as electrical or optical interconnect) or wireless (thenodes being connected without a physical medium, e.g., via radiotechnology).

Path/Route: An example of a path/route is a sequence of one or morelinks.

Path Metric: An example of a path metric is a number that reflects thedesirability of a path. For example, the number of links, e.g., the hopcount of a path, is one possible metric. Paths with a lower hop counthave advantages over paths with a higher hop count. The advantagesinclude less resource usage (as there is reduced forwarding) and lesslikelihood of lost packets (as there are fewer chances for loss beforepackets reach respective destinations).

Best Path: An example of a best path is an ordered list of nodes thatwhen transited (in order) by a packet result in an efficient traversalfrom a source to a destination, according to predetermined criteria.Since parameters and operating conditions vary over time, any best pathis also a “known” best path; e.g. it is based on criteria evaluated at aparticular point in time, and at a different point in time a differentbest path may be available. Best paths may also be considered to be“most nearly optimal” according to one or more metrics as measured withrespect to a routing protocol responsible for determining the bestpaths.

Network: An example of a network is a set of nodes that are enabled tocommunicate with each other via any combination of wired and wirelesslinks.

Mesh Network: An example of a mesh network is a set of nodes thatself-organize into a multi-hop network. In some usage scenarios the meshnetwork has limited resources (e.g. available bandwidth, availablecomputational power, and available energy).

Multi-Mesh Network: An example of a multi-mesh network is a set ofinterconnected meshes appearing to operate as a single network from aperspective of a user of resources provided by the multi-mesh network.

Shared Access Network: An example of a shared access network is anetwork such that a packet transmitted by any node is overheard by allother nodes in the network. An example implementation of such a networkis an 802.3 LAN.

Ingress Mesh: An example of an ingress mesh is a mesh where a packetenters a multi-mesh.

Egress Mesh: An example of an egress mesh is a mesh where a packet exits(or leaves) a multi-mesh.

Ingress Mesh Node: An example of an ingress mesh node is a node where apacket enters a mesh; e.g. the node forwarding the packet from anon-mesh link onto a mesh link/network.

Egress Mesh Node: An example of an egress mesh node is a node where apacket exits a mesh; e.g. the node forwarding the packet from a meshlink onto a non-mesh link/network.

Mesh Bridge (Node): An example of a mesh bridge is a node that issimultaneously participating in more than one mesh network at a time;e.g. the node is coupled to at least two mesh networks at once. Bridgenodes enable nodes connected on a first mesh (or that are part of thefirst mesh) to communicate with nodes connected on a second mesh (orthat are part of the second mesh).

(Mesh) Bridge Link: An example of a mesh bridge link is a link betweentwo bridge nodes (each being coupled to a respective mesh) used toforward traffic between the two meshes.

Ingress Bridge Node: An example of an ingress bridge node is the meshbridge where a packet exits (or leaves) an ingress mesh.

Egress Bridge Node: An example of an egress bridge node is the meshbridge where a packet enters an egress mesh.

Mesh Portal: An example of a mesh portal is a node that is part of amesh network and is also connected to another (shared access) network.Mesh portals enable nodes connected to the mesh, or that are part of themesh, to communicate with nodes that are part of the shared accessnetwork, or that may be reached through the shared access network. Insome embodiments the mesh network appears to outside networks as atransparent layer-2 transport, i.e. a packet injected into the mesh atone portal exits the mesh at another portal unmodified.

Ingress Mesh Portal: An example of an ingress mesh portal is the portalat which a packet enters a mesh, e.g., the portal that forwards thepacket from a non-mesh link/network onto a mesh link/network.

Egress Mesh Portal: An example of an egress mesh portal is the portal atwhich a packet exits the mesh, e.g., the portal that forwards the packetfrom a mesh link/network onto a non-mesh link/network.

Mesh Client Interface: An example of a mesh client interface is aninterface (that is part of a node of a mesh network) for coupling to aclient device.

Mesh Network Gateway Interface (mesh NGI): An example of a mesh NGI is anode that is part of a mesh network (e.g., has an interface configuredto be part of the mesh network) and is also connected to another network(e.g., has an interface configured to be on the other network). MeshNGIs enable nodes connected to a mesh network, or that are part of themesh, to communicate with nodes that are part of a shared accessnetwork, or that may be reached through the shared access network. Insome embodiments the mesh network appears to outside networks as atransparent layer 2 transport: a packet injected into the mesh at oneNGI exits the mesh at another NGI or Client Interface unmodified.

Ingress Mesh Interface: An example of an ingress mess interface is aninterface at which a packet enters a mesh, e.g., the interface thatforwards the packet from a non-mesh link onto a mesh link/network.

Egress Mesh Interface: An example of an egress mesh interface is theinterface at which a packet exits the mesh, e.g., the interface thatforwards the packet from a mesh link onto a non-mesh link/network.

Unicast: An example of unicast is communication between two nodes.

Broadcast: An example of broadcast is communication from one nodeintended to reach a plurality of nodes. In some usage scenarios theplurality of nodes includes all nodes on a network. In some scenarios abroadcast may not reach all intended nodes (due to packet loss, forexample).

Flood: An example of a flood is a broadcast sent by a node that is inturn rebroadcast by every other node receiving the broadcast, thuspotentially reaching all nodes in a network.

Routing Protocol: An example of a routing protocol is a set ofmechanisms implemented on each node in a mesh network, wherein themechanisms serve to discover information about the network and enableeach node on the network to communicate with other nodes of the network,even when the other nodes are multiple hops away from the respectivenode.

Path Accumulation: An example of path accumulation is when each nodeforwarding a packet adds its respective address to the packet.

Illustrative Combinations

The following is a collection of paragraphs that tersely summarizeillustrative systems and methods in accordance with the concepts taughtherein. Each of the paragraphs highlights various combinations offeatures using an informal pseudo-claim format. These compresseddescriptions are not meant to be mutually exclusive, exhaustive, orrestrictive and the invention is not limited to these highlightedcombinations. As is discussed in more detail in the Conclusion section,the invention encompasses all possible modifications and variationswithin the scope of the issued claims, which are appended to the veryend of the patent.

A method for connecting at layer 2 a mesh or ad hoc network to a wiredshared access network through multiple mesh gateways (nodes that areboth on the mesh and on the shared access network), such that noforwarding loops are formed, and wherein the first architecture(described elsewhere herein) is used.

A method for connecting at layer 2 one or more wired shared accessnetworks to each other through a mesh network, such that each sharedaccess network has multiple gateways onto the mesh network, such that noforwarding loops are formed, and wherein the first architecture(described elsewhere herein) is used.

A method for connecting at layer 2 a mesh or ad hoc network to a wiredshared access network through multiple mesh gateways (nodes that areboth on the mesh and on the shared access network), such that noforwarding loops are formed, and wherein the second architecture(described elsewhere herein) is used.

A method for connecting at layer 2 one or more wired shared accessnetworks to each other through a mesh network, such that each sharedaccess network has multiple gateways onto the mesh network, such that noforwarding loops are formed, and wherein the second architecture(described elsewhere herein) is used.

A method for automatic rerouting of traffic within a mesh from one meshgateway in a wired shared access network to another mesh gateway inanother wired shared access network connected to the mesh such that thebest path within the mesh is used for forwarding traffic between any twoshared access networks. The foregoing method implemented according to atleast one of the first architecture (described elsewhere herein) and thesecond architecture (described elsewhere herein).

A first embodiment comprising a method comprising communicating packetdata between a self-organizing network and a shared access network via agroup of network interface nodes, each node being a member of theself-organizing network and having a respective communication link withthe shared access network; enabling network performance improvements;and wherein the network performance improvements comprise at least oneof preventing broadcast loops between the self-organizing network andthe shared access network, avoiding forwarding of more than one copy ofa packet from the shared access network onto the self-organizingnetwork, and routing a packet that specifies a source and a destinationvia a best path within the self-organizing network according to thesource and the destination. The aforementioned embodiment furthercomprising executing a control protocol to enable the networkperformance improvements.

The first embodiment wherein the shared access network is a wirednetwork. The first embodiment wherein the communicating is in accordancewith a traffic splitting operation. The foregoing embodiment wherein thetraffic splitting operation is in accordance with a load-balancingobjective. The first embodiment wherein the communicating comprisessplitting traffic communicated between an endpoint accessible via theself-organizing network and an endpoint accessible via the shared accessnetwork between at least two of the communication links. The firstembodiment wherein the communicating comprises splitting trafficcommunicated between an endpoint in the self-organizing network and anendpoint accessible via the shared access network between at least twoof the communication links. The foregoing embodiment wherein the atleast two of the communication links are terminated at distinct devicesof at least one of the self-organizing network and the shared accessnetwork.

The first embodiment wherein the communicating is in accordance with afailure recovery operation. The foregoing embodiment wherein the failurerecovery operation comprises shifting traffic communicated between anendpoint in the self-organizing network and an endpoint accessible viathe shared access network from a first one of the communication links toa second one of the communication links when the first one of thecommunication links fails. The foregoing embodiment wherein the firstone and the second one of the communication links are terminated atdistinct ports of at least one of the self-organizing network and theshared access network.

The first embodiment wherein the group of network interface nodes is agateway group, and each of the network interface nodes operates as arespective network gateway interface; the control protocol is adistributed control protocol executed on the gateway group; and thedistributed control protocol comprises communicating control informationbetween the network gateway interfaces. The foregoing embodimentcomprising communicating data between the self-organizing network andanother shared access network via another gateway group. The foregoingembodiment wherein each of the gateway groups are identified by uniquegateway group identifiers.

The first embodiment wherein the group of interface nodes is a gatewaygroup communicating control information between each other via adistributed coordination protocol. The foregoing embodiment wherein thecoordination protocol comprises selecting a member of the gateway groupas a designated broadcast server. The foregoing embodiment wherein thedesignated broadcast server serves as an ingress mesh interface forbroadcast packets entering the self-organizing network. The foregoingembodiment wherein interface nodes other than the designated broadcastserver drop broadcast packets destined for any node of theself-organizing network. The foregoing embodiment further comprisingforwarding a unicast packet from the shared access network to theself-organizing network. The foregoing embodiment wherein if the networkinterface nodes lack state for the destination of the unicast packet,then the designated broadcast server floods the unicast packet onto theself-organizing network. The foregoing embodiment wherein the unicastpacket is a first unicast packet and further comprising determiningstate for the destination of the first unicast packet in response toinformation received from forwarding a second unicast packet from thedestination to the source. The foregoing embodiment wherein theforwarding of the second unicast packet is after the flood of the firstunicast packet.

The first embodiment wherein the group of interface nodes is operated asa gateway group identified by a shared gateway group identifier. Theforegoing embodiment wherein a designated broadcast server elected bythe gateway group forwards broadcast packets from the shared accessnetwork to the self-organizing network.

The first embodiment further comprising, in an ingress mesh networkgateway interface node, inserting a list of egress mesh network gatewayinterface nodes into a control field of a broadcast packet beforeforwarding the broadcast packet onto the self-organizing network. Theforegoing embodiment wherein the list comprises one entry per sharedaccess network in communication with the self-organizing network. Theforegoing embodiment wherein each respective entry corresponds to a bestroute from the ingress mesh network interface node to the shared accessnetwork reachable via the egress mesh network gateway interface nodeidentified by the respective entry.

The first embodiment wherein a member of the group of interface nodesforwards a broadcast packet from the self-organizing network onto theshared access network if the broadcast packet header lists the member.The foregoing embodiment wherein a designated broadcast server isidentified by the group of gateway interface nodes. The foregoingembodiment wherein if the forwarding member is distinct from thedesignated broadcast server, then before forwarding the broadcastpacket, the forwarding member transmits a synchronization packet to thedesignated broadcast server. The foregoing embodiment wherein thesynchronization packet notifies the designated broadcast server that theforwarding member is going to forward the broadcast packet onto theshared access network. The foregoing embodiment wherein the designatedbroadcast server, in response to the synchronization packet, omitsforwarding the broadcast packet onto the self-organizing network. Theforegoing embodiment wherein the broadcast packet header list ispopulated with one entry per shared access network in communication withthe self-organizing network. The foregoing embodiment wherein an ingressmesh network gateway interface node populates the broadcast packetheader list. The foregoing embodiment wherein each member of thebroadcast packet header list corresponds to a best route from theingress mesh network gateway interface node to the shared access networkreachable via the node identified by the respective list member.

The first embodiment further comprising forwarding a broadcast packetfrom the self-organizing network to the shared access network. Theforegoing embodiment wherein the forwarding of the broadcast packet isvia a forwarding node, and the forwarding node records that thebroadcast packet source is local to the self-organizing network. Theforegoing embodiment wherein all network interface nodes except theforwarding node process the broadcast packet as if it were local to theshared access network. The foregoing embodiment wherein the processingis at least in part in response to the forwarding node record.

The first embodiment wherein the shared access network is a first sharedaccess network, the group of network interface nodes is a first group ofnetwork interface nodes, and further comprising communicating packetdata between the first shared access network and a second shared accessnetwork via one of the first group of network interface nodes and one ofa second group of network interface nodes, the second group of networkinterface nodes being members of the self-organizing network and havingrespective communication links with the second shared access network.The foregoing embodiment wherein a unicast packet received by the one ofthe first group of network interface nodes is forwarded to the one ofthe second group of network interface nodes if the unicast packet isdestined for the second shared access network. The foregoing embodimentwherein the one of the second group of interface nodes is on the bestpath from the one of the first group of network interface nodes to thesecond shared access network.

The first embodiment further comprising forwarding a unicast packet fromthe self-organizing network onto the shared access network. Theforegoing embodiment wherein the unicast packet forwarding is via aforwarding member of the network interface group. The foregoingembodiment wherein the forwarding member records that the unicast packetsource is local to the self-organizing network. The foregoing embodimentwherein members of the group of network interface nodes other than theforwarding member process the unicast packet as if it were local to theshared access network.

The first embodiment further comprising forwarding a unicast packet fromthe shared access network to a destination in or reachable through theself-organizing network. The foregoing embodiment wherein the forwardingof the unicast packet is via a network interface node that previouslyrecorded the destination as being in or reachable through theself-organizing network. The foregoing embodiment wherein the networkinterface node that previously recorded the destination recorded thedestination in association with forwarding a previous unicast orbroadcast packet from the self-organizing network to the shared accessnetwork.

A second embodiment having all of the elements of the first embodimentfurther comprising allocating an endpoint in the shared access networkas a mesh server; and in each of the network gateway interface nodes,communicating the packet data via a respective point-to-point linkestablished with the mesh server. The foregoing embodiment wherein allof the packet data directed from the self-organizing network to theshared access network is routed via the mesh server. The secondembodiment wherein all of the packet data directed from the sharedaccess network to the self-organizing network is routed via the meshserver.

A third embodiment having all of the elements of the first embodimentwherein each of the network interface nodes operates as a respectivephysical network gateway interface; a node in the shared access networkoperates as a virtual network gateway interface; and the controlprotocol directs the communication of packet data to use the virtualnetwork gateway interface as a terminus. The foregoing embodimentwherein all of the packet data directed from the self-organizing networkto the shared access network is routed via the virtual network gatewayinterface. The third embodiment wherein all of the packet data directedfrom the shared access network to the self-organizing network is routedvia the virtual network gateway interface. The third embodiment whereinall of the packet data between the shared access network and theself-organizing network is routed via the virtual network gatewayinterface.

Any of the first, second, and third embodiments wherein at least aportion of the self-organizing network operates as at least one of awireless network and a wired network. Any of the first, second, andthird embodiments wherein at least a wireless portion of theself-organizing network operates as a wireless network and a wiredportion of the self-organizing network operates as a wired network. Anyof the first, second, and third embodiments wherein at least a portionof the self-organizing network is an ad hoc network. Any of the first,second, and third embodiments wherein at least a portion of theself-organizing network is a mesh network. Any of the first, second, andthird embodiments wherein at least a portion of the self-organizingnetwork operates according to an 802.11 compatible wirelesscommunication protocol.

A fourth embodiment of a computer readable medium having a set ofinstructions stored therein which when executed by a processing elementcauses the processing element to perform processes comprising any of thefirst, second, and third embodiments.

A fifth embodiment of a system comprising a processor and a memoryadapted to store instructions to be executed by the processor, theinstructions implementing any of the first, second, and thirdembodiments.

A sixth embodiment of system comprising a means for identifying a nodein a shared access network as a mesh server; a means for forwardingtraffic between a wireless mesh network and the shared access networkvia at least one of a plurality of gateway mesh nodes and the meshserver, the gateway mesh nodes enabled to operate in the wireless meshnetwork; and wherein the means for forwarding comprises a means fortransit via a respective virtual mesh link associated with each of thegateway mesh nodes.

A seventh embodiment of a method comprising identifying a node in ashared access network as a mesh server; forwarding traffic between awireless mesh network and the shared access network via at least one ofa plurality of gateway mesh nodes and the mesh server; operating thegateway mesh nodes in the wireless mesh network; and wherein theforwarding comprises transiting via a respective virtual mesh linkassociated with each of the gateway mesh nodes.

An eighth embodiment of a system comprising a shared access network; aserver node comprised in the shared access network; wherein the sharedaccess network is enabled to select the server node from among aplurality of nodes comprised in the shared access network; and whereinthe server node is enabled to forward traffic between a wireless meshnetwork and the shared access network at least in part via at least oneof a plurality of gateway nodes of the wireless mesh network, andfurther at least in part via a respective virtual link associated witheach of the gateway nodes.

A ninth embodiment of a system comprising a wireless mesh network; agateway node comprised in the wireless mesh network; and wherein thegateway node is enabled to forward traffic between a shared accessnetwork and the wireless mesh network at least in part via at least oneserver node comprised in the shared access network, and further at leastin part via a virtual link enabled to communicate with the gateway node.

A tenth embodiment of a computer readable medium having a set ofinstructions stored therein which when executed by a processing elementcauses the processing element to perform functions comprising selectinga server node from a plurality of nodes of a shared access network; andcontrolling forwarding of traffic between a wireless mesh network andthe shared access network via at least one of a plurality of gatewaynodes of the wireless mesh network, and further at least in part via arespective virtual link associated with each of the gateway nodes.

An eleventh embodiment of a system comprising means for identifying agroup of nodes operating in a wireless mesh network as a gateway groupto communicate with a shared access network, each of the gateway groupnodes enabled to access a respective wired link to communicate with theshared access network and a respective wireless link to communicatewithin the wireless mesh network; in the gateway group, means forselecting one of the nodes of the gateway group as a designatedbroadcast server; in the designated broadcast server, means forforwarding broadcast packets from the shared access network into thewireless mesh network; and in all the nodes of the gateway group exceptthe designated broadcast server, means for ignoring broadcast packetsfrom the shared access network.

A twelfth embodiment of a method comprising identifying a group of nodesoperating in a wireless mesh network as a gateway group to communicatewith a shared access network, each of the gateway group nodes enabled toaccess a respective wired link to communicate with the shared accessnetwork and a respective wireless link to communicate within thewireless mesh network; in the gateway group, selecting one of the nodesof the gateway group as a designated broadcast server; in the designatedbroadcast server, forwarding broadcast packets from the shared accessnetwork into the wireless mesh network; and in all the nodes of thegateway group except the designated broadcast server, ignoring broadcastpackets from the shared access network.

A thirteenth embodiment of a system comprising a wireless mesh network;a plurality of nodes in the wireless mesh network enabled to operate asa group of gateway nodes, each node of the gateway group enabled tocommunicate with a shared access network via a respective wired link andfurther enabled to communicate within the wireless mesh network via arespective wireless link; wherein the gateway group is enabled to selecta designated one of the nodes of the gateway group as a designatedbroadcast server; wherein the designated broadcast server is enabled toforward packets from the shared access network into the wireless meshnetwork; and wherein all of the nodes of the gateway group except thedesignated broadcast server are enabled to ignore broadcast packets fromthe shared access network.

A fourteenth embodiment of a system comprising means for identifying afirst node in a first shared access network as a first mesh server;means for identifying a second node in a second shared access network asa second mesh server; means for forwarding traffic between the sharedaccess networks via at least one of a plurality of gateway mesh nodesand the mesh servers, the gateway mesh nodes enabled to operate in awireless mesh network; wherein the shared access networks are wirednetworks; wherein the means for forwarding comprises means for transitvia a respective virtual mesh link associated with each of the gatewaymesh nodes; wherein the virtual mesh links are implemented viarespective point-to-point tunnels operating in part with respectivewired links coupled to the first and the second mesh servers; whereinthe mesh servers comprise respective means for tagging broadcast packetsprovided to the gateway mesh nodes; and wherein nodes of the wirelessmesh network are enabled to examine at least some results of the meansfor tagging in part to eliminate redundant transmission of the broadcastpackets.

A fifteenth embodiment of a method comprising identifying a first nodein a first shared access network as a first mesh server; identifying asecond node in a second shared access network as a second mesh server;forwarding traffic between the shared access networks via at least oneof a plurality of gateway mesh nodes and the mesh servers, the gatewaymesh nodes operating in a wireless mesh network; wherein the sharedaccess networks are wired networks; wherein the forwarding comprisestransit via a respective virtual mesh link associated with each of thegateway mesh nodes; wherein the virtual mesh links are implemented viarespective point-to-point tunnels operating in part with respectivewired links coupled to the first and the second mesh servers; whereinthe mesh servers tag broadcast packets provided to the gateway meshnodes; and wherein nodes of the wireless mesh network examine at leastsome results of the tagging in part to eliminate redundant transmissionof the broadcast packets.

A sixteenth embodiment of a system comprising means for identifying afirst group of nodes operating in a wireless mesh network as a firstgateway group to communicate with a first shared access network, each ofthe first gateway group nodes enabled to access a respective wired linkto communicate with the first shared access network and a respectivewireless link to communicate within the wireless mesh network; means foridentifying a second group of nodes operating in the wireless meshnetwork as a second gateway group to communicate with a second sharedaccess network, each of the second gateway group nodes enabled to accessa respective wired link to communicate with the second shared accessnetwork and a respective wireless link to communicate within thewireless mesh network; means for forwarding traffic from the firstshared access network to the second shared access network via thegateway groups, the means for forwarding comprising via one of the nodesof the first gateway group enabled to operate as an ingress node, meansfor forwarding the traffic from the first shared access network onto thewireless mesh network, in the wireless mesh network, means forforwarding the traffic, according to a transit path, from the ingressnode to one of the nodes of the second gateway group enabled to operateas an egress node, and in the egress node, means for forwarding thetraffic from the wireless mesh network onto the second shared accessnetwork; wherein the shared access networks are wired networks; whereinthe egress node is selected in part based on a best egress path; whereinthe transit path is selected in part based on a best transit path;wherein the first gateway group nodes all share a common first gatewaygroup identifier; and wherein the second gateway group nodes all share acommon second gateway group identifier.

A seventeenth embodiment of a method comprising identifying a firstgroup of nodes operating in a wireless mesh network as a first gatewaygroup to communicate with a first shared access network, each of thefirst gateway group nodes enabled to access a respective wired link tocommunicate with the first shared access network and a respectivewireless link to communicate within the wireless mesh network;identifying a second group of nodes operating in the wireless meshnetwork as a second gateway group to communicate with a second sharedaccess network, each of the second gateway group nodes enabled to accessa respective wired link to communicate with the second shared accessnetwork and a respective wireless link to communicate within thewireless mesh network; forwarding traffic from the first shared accessnetwork to the second shared access network via the gateway groups, theforwarding comprising via one of the nodes of the first gateway groupoperating as an ingress node, forwarding the traffic from the firstshared access network onto the wireless mesh network, in the wirelessmesh network, forwarding the traffic, according to a transit path, fromthe ingress node to one of the nodes of the second gateway groupoperating as an egress node, and in the egress node, forwarding thetraffic from the wireless mesh network onto the second shared accessnetwork; wherein the shared access networks are wired networks; whereinthe egress node is selected in part based on a best egress path; whereinthe transit path is selected in part based on a best transit path;wherein the first gateway group nodes all share a common first gatewaygroup identifier; and wherein the second gateway group nodes all share acommon second gateway group identifier.

An eighteenth embodiment of a system comprising means for communicatingpacket data between a self-organizing network and a shared accessnetwork via a group of network interface nodes, each interface nodebeing a member of the self-organizing network and having access to arespective communication link with the shared access network; means forexecuting a control protocol to enable network performance improvements;and wherein the network performance improvements comprise at least oneof preventing broadcast loops between the self-organizing network andthe shared access network, avoiding forwarding of more than one copy ofa packet from the shared access network onto the self-organizingnetwork, and routing a packet that specifies a source and a destinationvia a best path within the self-organizing network according to thesource and the destination.

A nineteenth embodiment of a method comprising communicating packet databetween a self-organizing network and a shared access network via agroup of network interface nodes, each interface node being a member ofthe self-organizing network and having access to a respectivecommunication link with the shared access network; executing a controlprotocol to enable network performance improvements; and wherein thenetwork performance improvements comprise at least one of preventingbroadcast loops between the self-organizing network and the sharedaccess network, avoiding forwarding of more than one copy of a packetfrom the shared access network onto the self-organizing network, androuting a packet that specifies a source and a destination via a bestpath within the self-organizing network according to the source and thedestination.

A twentieth embodiment of a computer readable medium having a set ofinstructions stored therein which when executed by a processing elementcauses the processing element to perform functions comprising selectinga node of a group of interface nodes to operate as a designatedbroadcast server, the selecting being part of a distributed protocolcommunicating control information between the group of interface nodes;selectively forwarding broadcast packets from a shared access networkinto a wireless mesh network; selectively ignoring broadcast packetsfrom the shared access network; wherein the group of interface nodes areenabled to operate in the wireless mesh network via a respectivewireless link, and each of the interface nodes is enabled to communicatewith the shared access network via a respective communication link;wherein the selectively forwarding is via the designated broadcastserver; and wherein the selectively ignoring is via all members of thegroup of interface nodes other than the designated broadcast server.

A twenty-first embodiment of a system comprising a plurality of wirelessnodes enabled to operate in a wireless mesh network, each of thewireless nodes comprising a processing element enabled to executeinstructions obtained from a respective computer readable medium; aplurality of wired links enabled to couple a subset of the wirelessnodes to at least one shared access network; wherein a first portion ofthe instructions is to be executed to select a node of the subset tooperate as a designated broadcast server, the selecting according to adistributed protocol that comprises exchanging control informationbetween the nodes of the subset; wherein a second portion of theinstructions is to be executed by the designated broadcast server tocontrol selectively forwarding broadcast packets from the at least oneshared access network to the wireless mesh network; and wherein a thirdportion of the instructions is to be executed by all the nodes of thesubset except the designated broadcast server to control selectivelyignoring the broadcast packets.

Multiple Shared Network Access Gateway Group Architecture

Redundant and load-balanced access between a mesh and each of one ormore shared access networks is provided, in the first architecture, by arespective group of NGIs operating as a gateway group. One of the NGIsin each of the respective gateway groups is elected, by elements of thegateway group, to operate as a Designated Broadcast Server (DBS). TheDBS is the only node within the respective gateway group enabled toforward broadcast packets from the respective shared access network tothe mesh.

FIG. 1 illustrates selected details of an embodiment of the firstarchitecture of a mesh network having multiple mesh gateway interfacesto multiple shared access networks. Each of MN1-4 102.1-4 and MN6-7102.6-7 are mesh nodes operating as NGIs that are members of illustratedMesh Network 100. MN1 and MN2 are operated as Gateway Group 1 103.1 toprovide any combination of redundant and load-balanced access to sharedaccess network Subnet A 101.A (operating as Broadcast Domain 1).Similarly MN3 and MN4 operate as Gateway Group 2 103.2 with Subnet B101.B of Broadcast Domain 2, and MN6 and MN7 operate as Gateway Group 3103.3 with Subnet C 101.0 of Broadcast Domain 3. Gateway groups mayinclude any number of NGIs (such as three, four, or more), and anynumber of shared access networks may be accessible from a single meshnetwork via a corresponding number of gateway groups.

Members of a gateway group (such as MN1 and MN2 of Gateway Group 1) areidentified as belonging to the same shared access network (such asSubnet A having Broadcast Domain 1), and thus an element of the mesh (oran element enabled for communication via the mesh) may consider anymember of the gateway group as an alternate NGI for communication withthe shared access network. All NGIs of each respective gateway group areassigned an ID that is the same for all elements of the respectivegateway group but unique with respect to other gateway groups (such asMN1 and MN2 being assigned ID “1”, and MN3 and M4 being assigned ID “2”,and so forth). Gateway group information is distributed as part ofconfiguring the mesh in some embodiments. Gateway group information isdetermined via an autoconfiguration protocol in some embodiments.

Election of a DBS for each respective gateway group addresses issuesdescribed with respect to Mesh Network Concepts Nos. 1 and 2, describedelsewhere herein. The NGIs of each respective gateway group elect arespective DBS among themselves via a distributed protocol. Eachrespective DBS serves to allow broadcast packets into the mesh from eachrespective shared access network. All other NGIs of the respectivegateway group drop all broadcast packets received from the respectiveshared access network.

FIGS. 2A, 2B, and 2C illustrate selected details of an embodiment of aself-healing mesh network having a control protocol for assigning a DBSin each of one or more partitions of the mesh network. Illustrated meshnetwork Mesh 210 having mesh network nodes MN/NGI 211, MN/NGI 212, andMN/NGI/DBS 213 is enabled for communication with Shared Access Network220. Currently operational DBS 213 is indicated in FIG. 2A by thenotation MN/NGI/DBS, indicating that the Mesh Node (MN) so annotated isboth an NGI and a DBS.

FIG. 2B illustrates that if DBS 213 of FIG. 2A (or the link to theshared access network of the DBS) fails, a new DBS (MN/NGI/DBS (NEW)212) is elected by a control protocol that uses a combination of staticand dynamic selection algorithms. Any NGI may act as a DBS. In someusage scenarios, at any given time there is only one DBS active in aGateway group. However, in situations when a mesh is partitioned intotwo or more disjoint networks (with NGIs for the same shared accessnetwork present in each partition) having only one DBS leads to somepartitions not being able to transport any broadcast messages. Asolution is to have one DBS active for each such disjoint partition ofthe mesh.

FIG. 2C illustrates that failed DBS 213 of FIG. 2B has recovered butwith the mesh partitioned in two portions, each having at least one NGIand DBS. The control protocol has elected a DBS for each mesh partitionas indicated by the annotation MN/NGI/DBS1 of 213 for partition 1 221.1,and MN/NGI/DBS2 of 212 for partition 2 221.2.

Once the disjoint partitions join back together, only one DBS remainsactive. For example, the network may return to the situation illustratedby FIG. 2A. All NGIs in a gateway group actively participate inselection and decommissioning of the DBS NGIs to handle failures andpartitions without any user intervention, thus maintaining theself-healing nature of the mesh network.

Packet Forwarding and Route Selection in the Multiple Shared NetworkAccess Architecture Processing of Broadcast Packets:

Broadcast Packet Aspect No. 1: In selected embodiments, the DBS within agateway group forwards a broadcast packet originated on the sharedaccess network into the mesh, thus serving as the Ingress Mesh Interfacefor the packet.

Broadcast Packet Aspect No. 2: Before forwarding the broadcast packet,the Ingress Mesh NGI attaches to the packet a list of Egress Mesh NGIs,one per mesh-attached shared access network. Each Egress Mesh NGI in thelist corresponds to the best route from the Ingress Mesh NGI to theshared access network the respective Egress Mesh NGI providescommunication with. Stated another way, for each mesh-attached sharedaccess network, one Egress Mesh NGI is selected from among the EgressMesh NGIs coupled to the respective shared access network, such that theselected Egress Mesh NGI is the best route from the Ingress Mesh NGI tothe respective shared access network. Information on paths and themetric of each path is available through the routing protocol, that ateach node keeps track of the best routes to all other nodes in the mesh.

Broadcast Packet Aspect No. 3: A mesh NGI only forwards a broadcastpacket from the mesh onto the shared access network if the mesh NGI islisted in the header of the packet. If the mesh NGI is not the DBS forthe gateway group, then before forwarding the packet into the sharedaccess network, an Egress NGI sends a synchronization packet to the DBSNGI for the mesh NGI providing notification of forwarding of a broadcastpacket onto the shared access network so that the DBS does not assumethe packet was sent on the shared access network and needs to beforwarded onto the mesh. Thus the broadcast packet follows the best pathfrom an Ingress Mesh NGI to each shared access network and no broadcastloops are formed (addressing issues raised in Mesh Network Concept No.1).

Broadcast Packet Aspect No. 4: When a broadcast is forwarded by a meshNGI onto a shared access network, the NGI forwarding it records that thepacket source is local to the mesh, while all other NGIs overhear thepacket and assume that the source of the packet is local to the sharedaccess network. In some embodiments the recording of the packet sourceas local to the mesh occurs when the packet source is in the mesh andalso when the packet source is reachable through the mesh. As a result,when a packet is subsequently sent to the same node, only one NGIforwards the packet into the mesh and communication between a givensource and destination is symmetric. In other words, the same path isused for packets from the source to the destination and vice versa.

Processing of Unicast Packets:

Unicast Packet Aspect No. 1: A unicast packet is received at a MeshIngress Client Interface/NGI. If the destination node is in a sharedaccess network that is associated with a Gateway Group, then the packetis forwarded to the NGI that is part of the Gateway group and has theleast cost from the ingress node with respect to all NGIs belonging tothe Gateway Group. The least cost forwarding tends to conserve wirelessbandwidth and improves overall mesh performance.

Unicast Packet Aspect No. 2: When a unicast packet is forwarded onto theshared access network from a mesh, the forwarding NGI records that thepacket source is local to the mesh, while all other NGIs overhear thepacket and assume that the source of the packet is local to the sharedaccess network. In some embodiments the recording of the packet sourceas local to the mesh occurs when the packet source is in the mesh andalso when the packet source is reachable through the mesh. As a result,when a packet is subsequently sent to that same node, only one NGIforwards the packet into the mesh and communication between a givensource and destination is symmetric, i.e., the same path is used forpackets from the source to the destination and vice versa.

Unicast Packet Aspect No. 3: When a unicast packet is originated on theshared access network, and the mesh NGIs have state for the destinationof the packet (e.g., through Unicast Packet Scenario No. 1 or throughBroadcast Packet Scenario No. 4), the one mesh NGI that has recorded thedestination as being a mesh destination forwards the packet into themesh. The forwarding is directed to the closest Egress Mesh NGI withinthe gateway group of the shared access network where the packet isdestined.

Unicast Packet Aspect No. 4: When a unicast packet is originated on theshared access network, and the mesh NGIs do not have state for thedestination of the packet (e.g., the state was not used for a while andexpired), the DBS floods the packet into the mesh. Eventually, as aresult of packets sent in the other direction, the state for how toreach the destination will be relearned, and packets will start beingdelivered through unicast within the mesh as in Unicast Packet ScenarioNo. 3.

Multiple Shared Network Access Mesh Server Architecture

FIG. 3 illustrates selected details of an embodiment of the secondarchitecture of a mesh network having multiple mesh gateway interfacesto a common shared access network. In the second architecture, multiplemesh NGIs are connected to a common shared access network whilepreserving best path routing within the mesh at all times.

Mesh Network 310 is illustrated with a plurality of mesh nodes,including mesh nodes participating in the mesh as MNs 311 and 312, andmesh nodes participating in the mesh and operating as NGIs as MN/NGIs313-315. The mesh network is enabled for communication with SharedAccess Network 320. The shared access network includes mesh servers MS-A321.A and MS-B 321.B enabled for communication with Layer 2 WiredNetwork 330 via Wired Links 370.A-B. Also illustrated are (Active)Logical Connections 340.1-3, (Backup) Logical Connections 350.1-3, andActive/Backup Mesh Server Synchronization 360.

Rather than employing coordination protocols between the mesh NGIs, thesecond architecture employs an additional node in the shared accessnetwork, referred to as a Mesh Server (MS), such as “MS-A” 321.A,illustrated. The additional node is coupled to the mesh via a wiredconnection, and acts as a virtual NGI, executing a mesh routingprotocol. The devices physically connected to both the mesh and theshared access network operate as mesh nodes having virtual mesh links tothe virtual mesh NGI. The virtual mesh links may be implemented aspoint-to-point tunnels. In some embodiments the virtual mesh NGI iscollocated on a device also having a physical NGI.

Employing one virtual mesh NGI forces packets entering and exiting themesh to always enter and exit the mesh at one point, thus preventingbroadcast loops (Mesh Network Concept No. 1). The single mesh entry/exitpoint also ensures that only one copy of each packet enters the mesh(Mesh Network Concept No. 2). For broadcast or flooded packets, thevirtual NGI sends a copy of the packet along each of the links to thephysical mesh NGIs across the virtual mesh links. However, at the pointwhere the packet is transmitted on a mesh link, the packet includescontrol information that enables forwarding nodes to detect duplicatecopies of the packet. Thus even though a broadcast packet may enter themesh through multiple physical mesh NGIs, each node in the mesh wouldonly forward a single copy of the packet.

Since all the NGIs are part of the mesh in embodiments based on thesecond architecture, the routing protocol may determine the best pathsfrom a virtual NGI in one access network to a virtual NGI in any otheraccess network, thus addressing Mesh Network Concept No. 3.

In some embodiments a pair of MSs are used to provide redundancy, with afirst additional node of the pair operating as an active node (such as“MS-A” 321.A, illustrated) and a second additional node of the pairoperating as a backup node (such as “MS-B” 321.B, illustrated). In someembodiments synchronization processing is employed between the activeand backup MSs (such as “Active/Backup Mesh Server Synchronization” 360,illustrated).

Embodiments in accordance with the second architecture may provide forconcurrent access to a plurality of shared access networks. Each of theshared access networks includes one or more MSs. MN/NGI nodescommunicate with one or more shared access networks via at least one MSthat is a member of the respective shared access network. For example,to communicate with two shared access networks, a first virtual link isestablished from a first MN/NGI to a first MS that is a member of afirst of the two shared access networks. A second virtual link isestablished from a second MN/NGI to a second MS that is a member of thesecond of the two shared access networks.

Node Hardware and Software

FIG. 4 illustrates selected details of hardware aspects of an embodimentof a node. The illustrated node includes Processor 405 coupled tovarious types of storage, including volatile read/write memory “MemoryBank” elements 401.1-2 via DRAM Memory Interface 402, and non-volatileread/write memory FLASH 403 and EEPROM 404 elements. The processor isfurther coupled to Ethernet Interface 406 providing a plurality ofEthernet Ports 407 for establishing wired links, and Wireless Interface409 providing radio communication of packets for establishing wirelesslinks. In some embodiments the Wireless Interface is compatible with anIEEE 802.11 wireless communication standard (such as any of 802.11a,802.11b, and 802.11g). In some embodiments the Wireless Interfaceoperates (in conjunction with any combination of hardware and softwareelements) to collect statistics with respect to neighboring nodes of amesh. The statistics may include any combination of signal strength andlink quality. In some embodiments the Wireless Interface is configurableto drop all packets below a settable Received Signal Strength Indicator(RSSI) threshold. The illustrated partitioning is only one example, asother equivalent embodiments of a node are possible.

The illustrated node may function as any one of the mesh nodesillustrated in FIGS. 1, 2A, 2B, 2C, and 3 (for example any of MN1-8, anynode designated as MN/NGI, and any node designated as MNG/NGI/DBS). TheWireless Interface of FIG. 4 may enable communication between nodes andprovide low-level transport for packets moving between elements of themesh and one or more shared access networks. The Ethernet ports of FIG.4 may provide for wired communication between a node operating as an NGIand an associated shared access network (e.g. any of the couplingsbetween MN1-2 and Subnet A, between MN3-4 and Subnet B, and betweenMN6-7 and Subnet C of FIG. 1).

In operation the processor fetches instructions from any combination ofthe storage elements (DRAM, FLASH, and EEPROM) and executes theinstructions. In the context of the first architecture, some of theinstructions correspond to execution of software associated withoperations relating to processing as a member of a gateway group. Theoperations include the distributed protocol implementing election of aDBS and further include subsequent filtering/passing of broadcastpackets. The operations further include processing relating to anycombination of redundancy and load-balancing. Gateway groupidentification information may be stored in any combination of thestorage elements according to instructions executed during processingassociated with mesh set up and initialization. In the context of thesecond architecture, some of the instructions correspond to execution ofsoftware associated with operations relating to interfacing to one ormore mesh MSs, including redundancy and load-balancing functions.

FIG. 5 illustrates selected details of software aspects of an embodimentof a node. The illustrated software includes Network Management System(NMS) Manager 501 interfacing to Network Interface Manager 502 andFault, Configuration, Accounting, Performance, and Security (FCAPS)Manager 503. In some embodiments the NMS interfaces between managementsoftware operating external to the node and software operating internalto the node (such as various applications and FCAPS). The NetworkInterface Manager manages physical network interfaces (such as theEthernet and Wireless Interfaces of a node). The Network InterfaceManager assists the NMS in passing dynamic configuration changes (asrequested by a user) through the management software to FCAPS. In someembodiments FCAPS includes functions to store and retrieve configurationinformation, and FCAPS functions serve all applications requiringpersistent configuration information. FCAPS may also assist incollecting fault information and statistics and performance data fromvarious operating modules of the node. FCAPS may pass any portion of thecollected information, statistics, and data to the NMS.

Kernel Interface 510 interfaces the Managers to Routing and TransportProtocols layer 511 and Flash File System module 513. The RoutingProtocols include portions of processing relating to operation as amember of a gateway group or interfacing to MSs, according toarchitecture, as well as general processing relating to operation as anode of the mesh and forwarding packets. The Transport Protocols includeTCP and UDP. The Flash File System module interfaces to Flash Driver 516that is illustrated conceptually coupled to FLASH hardware element 523that is representative of a flash file system stored in any combinationof the FLASH and EEPROM elements of FIG. 4. Layer-2 Abstraction Layer512 interfaces the Routing and Transport Protocols to Ethernet and RadioDrivers 514 and 515, respectively. The Ethernet Driver is illustratedconceptually coupled to Ethernet Interface 526 that is representative ofthe Ethernet Interface of FIG. 4. The Radio Driver is illustratedconceptually coupled to Wireless Interface 529 that is representative ofthe Wireless Interface of FIG. 4. In some embodiments the software mayalso include a serial driver. The software is stored on a computerreadable medium (e.g. any combination of the DRAM, FLASH, and EEPROMelements), and is executed by the processor. The illustratedpartitioning is an example only, as many other equivalent arrangementsof layers are possible.

CONCLUSION

Although the foregoing embodiments have been described in some detailfor purposes of clarity of understanding, the invention is not limitedto the details provided. There are many alternative ways of implementingthe invention. The disclosed embodiments are illustrative and notrestrictive. It will be understood that many variations in construction,arrangement and use are possible consistent with the teachings andwithin the scope of the claims appended to the issued patent. Forexample, interconnect and function-unit bit-widths, clock speeds, andthe type of technology used may generally be varied in each componentblock. The order and arrangement of flowchart and flow diagram processand function elements may generally be varied. Also, unless specificallystated to the contrary, the value ranges specified, the maximum andminimum values used, or other particular specifications (such asintegration techniques and design flow technologies), are merely thoseof the illustrative embodiments, can be expected to track improvementsand changes in implementation technology, and should not be construed aslimitations.

Functionally equivalent techniques known to those of ordinary skill inthe art may be employed instead of those illustrated to implementvarious components, sub-systems, functions, operations, routines, andsub-routines. The names given to interconnect, logic, functions, androutines are merely illustrative, and should not be construed aslimiting the concepts taught. It is also understood that many designfunctional aspects may be carried out in either hardware (i.e.,generally dedicated circuitry) or software (i.e., via some manner ofprogrammed controller or processor), as a function of implementationdependent design constraints and the technology trends of fasterprocessing (which facilitates migration of functions previously inhardware into software) and higher integration density (whichfacilitates migration of functions previously in software intohardware). Specific variations may include, but are not limited to:differences in networking technology (such as wired/wireless, protocols,and bandwidths); and other variations to be expected when implementingthe concepts taught herein in accordance with the unique engineering andbusiness constraints of a particular application.

The embodiments have been illustrated with detail and environmentalcontext well beyond that required for a minimal implementation of manyof aspects of the concepts taught. Those of ordinary skill in the artwill recognize that variations may omit disclosed components withoutaltering the basic cooperation among the remaining elements. It is thusunderstood that much of the details disclosed are not required toimplement various aspects of the concepts taught. To the extent that theremaining elements are distinguishable from the prior art, omittedcomponents are not limiting on the concepts taught herein.

All such variations in design comprise insubstantial changes over theteachings conveyed by the illustrative embodiments. It is alsounderstood that the concepts taught herein have broad applicability toother networking and communication applications, and are not limited tothe particular application or industry of the illustrated embodiments.The invention is thus to be construed as including all possiblemodifications and variations encompassed within the scope of the claimsappended to the issued patent.

1. (canceled)
 2. A system comprising: a means for identifying a node ina shared access network as a mesh server; a means for forwarding trafficbetween a wireless mesh network and the shared access network via atleast one of a plurality of gateway mesh nodes and the mesh server, thegateway mesh nodes enabled to operate in the wireless mesh network; andwherein the means for forwarding comprises a means for transit via arespective virtual mesh link associated with each of the gateway meshnodes.
 3. The system of claim 2, wherein the shared access network is awired network.
 4. The system of claim 2, wherein the virtual mesh linksare implemented via respective point-to-point tunnels enabled to operatein part with respective wired links coupled to the mesh server.
 5. Thesystem of claim 2, wherein the mesh server comprises a means for taggingbroadcast packets provided to the gateway mesh nodes.
 6. The system ofclaim 5, wherein the gateway mesh nodes and all other nodes of thewireless mesh network comprise a respective means for examining at leastsome results of the means for tagging in part to eliminate redundanttransmission of the broadcast packets.
 7. The system of claim 2, whereinthe mesh server is an active mesh server, and further comprising a meansfor identifying another node in the shared access network as a backupmesh server.
 8. The system of claim 7, further comprising a means fordetecting a failure of the active mesh server.
 9. The system of claim 8,further comprising a means for forwarding traffic between the wirelessmesh network and the shared access network via the backup mesh serverafter the failure.
 10. A method comprising: identifying a node in ashared access network as a mesh server; forwarding traffic between awireless mesh network and the shared access network via at least one ofa plurality of gateway mesh nodes and the mesh server; operating thegateway mesh nodes in the wireless mesh network; and wherein theforwarding comprises transiting via a respective virtual mesh linkassociated with each of the gateway mesh nodes.
 11. The method of claim10, wherein the shared access network is a wired network.
 12. The methodof claim 10, further comprising implementing the virtual mesh links viarespective point-to-point tunnels operating in part with respectivewired links coupled to the mesh server.
 13. The method of claim 10,further comprising via the mesh server, tagging broadcast packetsprovided to the gateway mesh nodes.
 14. The method of claim 13, furthercomprising via the gateway mesh nodes and all other nodes of thewireless mesh network, examining at least some results of the tagging inpart to eliminate redundant transmission of the broadcast packets. 15.The method of claim 10, wherein the mesh server is an active meshserver, and further comprising identifying another node in the sharedaccess network as a backup mesh server.
 16. The method of claim 15,further comprising detecting a failure of the active mesh server. 17.The method of claim 16, further comprising forwarding traffic betweenthe wireless mesh network and the shared access network via the backupmesh server after the detecting.
 18. A system comprising: a sharedaccess network; a server node comprised in the shared access network;wherein the shared access network is enabled to select the server nodefrom among a plurality of nodes comprised in the shared access network;and wherein the server node is enabled to forward traffic between awireless mesh network and the shared access network at least in part viaat least one of a plurality of gateway nodes of the wireless meshnetwork, and further at least in part via a respective virtual linkassociated with each of the gateway nodes.
 19. The system of claim 18,further comprising the at least one gateway node.
 20. The system ofclaim 19, further comprising the respective virtual link associated withthe at least one gateway node.
 21. The system of claim 20, wherein therespective virtual link associated with the at least one gateway node isimplemented via a point-to-point tunnel enabled to operate in part witha wired link coupled to the server node.
 22. The system of claim 18,wherein the server node is enabled to tag broadcast packets provided tothe at least one gateway node.
 23. The system of claim 18, wherein theserver node is an active server node, and wherein the shared accessnetwork is further enabled to select a backup server node from among theplurality of nodes.
 24. The system of claim 23, wherein the sharedaccess network is further enabled to detect a failure of the activeserver node.
 25. The system of claim 24, wherein the backup server nodeis enabled to forward traffic between the wireless mesh network and theshared access network after the failure.
 26. The system of claim 18,further comprising the wireless mesh network.
 27. The system of claim18, wherein the shared access network is a wired network.
 28. A systemcomprising: a wireless mesh network; a gateway node comprised in thewireless mesh network; and wherein the gateway node is enabled toforward traffic between a shared access network and the wireless meshnetwork at least in part via at least one server node comprised in theshared access network, and further at least in part via a virtual linkenabled to communicate with the gateway node.
 29. The system of claim28, further comprising the at least one server node.
 30. The system ofclaim 28, further comprising the shared access network.
 31. The systemof claim 28, wherein the gateway node and other nodes of the wirelessmesh network are enabled to examine respective tags associated withbroadcast packets received via the at least one server node to eliminateredundant transmission of the broadcast packets.
 32. A computer readablemedium having a set of instructions stored therein which when executedby a processing element causes the processing element to performfunctions comprising: selecting a server node from a plurality of nodesof a shared access network; and controlling forwarding of trafficbetween a wireless mesh network and the shared access network via atleast one of a plurality of gateway nodes of the wireless mesh network,and further at least in part via a respective virtual link associatedwith each of the gateway nodes.
 33. The computer readable medium ofclaim 32, further comprising tagging broadcast packets provided to theat least one gateway node.
 34. The computer readable medium of claim 32,wherein the server node is an active server node and further comprisingselecting a backup server node from the plurality of nodes.
 35. Thecomputer readable medium of claim 34, further comprising detecting afailure of the active server node.